package com.vaasplus.bms.dao.mapper;

import com.vaasplus.bms.dao.base.BaseDao;
import com.vaasplus.bms.dao.entity.CameraBean;
import com.vaasplus.bms.dao.entity.CameraBeanDal;
import com.vaasplus.bms.dao.entity.custom.CameraBeanInEs;
import com.vaasplus.bms.dao.entity.custom.DeviceBean;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface CameraBeanMapper extends BaseDao {
    long countByExample(CameraBeanDal example);

    int deleteByExample(CameraBeanDal example);

    int deleteByPrimaryKey(Integer id);

    int insert(CameraBean record);

    int insertSelective(CameraBean record);

    List<CameraBean> selectByExample(CameraBeanDal example);

    CameraBean selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") CameraBean record, @Param("example") CameraBeanDal example);

    int updateByExample(@Param("record") CameraBean record, @Param("example") CameraBeanDal example);

    int updateByPrimaryKeySelective(CameraBean record);

    int updateByPrimaryKey(CameraBean record);

    List<DeviceBean> selectCamerasByBranchTagChains(@Param("orgId") Long orgId, @Param("branchTagChains") List<String> branchTagChains, @Param("imeis") List<String> imeis);
    List<CameraBeanInEs> selectCamerasScroll(@Param("from") Long from ,  @Param("to") Long to, @Param("deviceType") Short deviceType );
    Map<String,Integer> selectCameraStatisticInfoByExample(CameraBeanDal example);
}